1. Field of the Invention
The present invention generally concerns a method for operating a storage library and a system therefor. More particularly, the method and system provide a graphical interface and logic which support communications with a manual data storage library.
2. Description of Related Art
Modern computer systems require large quantities of information storage. To meet this requirement computer data storage is available in many forms. A fast, but expensive, form of data storage is main memory, typically including monolithic semiconductor circuits. Other available forms of data storage, known as peripheral data storage devices (PDSDs), include magnetic direct access storage devices (DASD), magnetic tape storage devices, and optical recording devices. These types of data storage actually store data on electromagnetic or optical media. Each of these other types of data storage has a greater storage density and lower cost than main memory. However, these other devices require mechanical movement and therefore have slower data access times than purely electronic main memory.
Storing all system data in main memory is costly; however, storing all system data on one or more peripheral storage devices reduces performance. Thus, a typical computer system includes both main memory and one or more PDSDs arranged in a data storage hierarchy. In such a hierarchy, main memory is often referred to as the primary data storage. The next level of the hierarchy is known as the secondary data storage, and so on. Generally, the highest level of the hierarchy has the lowest storage density capability and capacity, the highest performance, and highest cost. Down through the hierarchy, storage density and capacity generally increases, performance generally decreases, and associated costs generally also decrease. By transferring data between different levels of the hierarchy, as required, cost and performance are optimized.
Therefore, in order to have the required information available on an "as needed" basis, much storage at the lowest level of the hierarchy is required. Most business applications require numerous disks or tapes to meet the lowest level storage needs. Data storage libraries have been developed to manage the storage of such disks or tapes. Some storage libraries employ automatic means including robotic picker and gripper devices to store and access data storage media. Others do not employ automatic means, but rather rely on human operators to store and access data storage media when needed. Those storage libraries relying on human operators are referred to as "manual data storage libraries".
Manual data storage libraries remain popular as a choice over automated libraries because manual libraries do not require a large capital investment. Also, manual libraries allow a human operator to maintain more control over the library. Unfortunately, human operators have difficulty in competing with the efficiency and accuracy of robotic means. In particular, there is no known efficient way of alerting an operator of the need to mount or demount a particular data storage medium from a particular PDSD while still allowing an operator to communicate directly with the PDSD. For example, an operator may need to know when it is critical to mount a medium on a particular PDSD but may be obliged to change to a new PDSD, so that the current in use PDSD may be serviced.
Manual data storage libraries include a plurality of storage bins or slots for retaining data storage media, such as magnetic tapes, magnetic disks, or optical disks, and also include one or more PDSDs. Each data storage medium may be contained in a cassette or cartridge housing for protection. An operator must be alerted to transfer any storage medium between the storage bins and an available PDSD. In this regard, a PDSD having a storage medium mounted therein and allocated for use is referred to as "unavailable". Conversely, a PDSD without a storage medium mounted therein or unallocated is referred to as "available". Once a data storage medium is mounted in a PDSD and the medium is allocated for use, data may be written to or read from that medium for as long as the system requires. Data is stored on a medium in the form of one or more files, each file being a logical data set.
It is not uncommon for a large data set to span several hundred cartridges or cassettes in the case where the storage medium is tape. A single cartridge is given a volume serial number, which is referred to as a "volser". When a data set is requested, the actual cartridges containing the entire data set are likely to be dispersed in a plurality of storage bins located throughout the library. The cartridges are identified by their respective volsers. Accordingly, it is critical that an operator be alerted promptly of the need to mount or demount the cartridges containing the requested data set, in order for data processing to continue.
Prior art techniques for alerting an operator in a manual data storage library include programs for intercepting messages sent from the host to PDSDs and then sending a text-based message to the operator. Unfortunately, this results in a large quantity of messages being sent to an operator console. An operator may be inundated with short-lived messages that are often cryptic and therefore difficult to learn and interpret. Thus, reliability and efficiency suffer as an operator's attention is diverted from performing useful tasks in the library.
Referring to FIG. 1, a block diagram for a prior art manual data storage library is shown. A host computer, such as the IBM 3090, has within it code for processing job requests within a data storage library. Such code may include a master scheduler module 102 and a console control program 104. The master scheduler program 102 is responsible for determining which devices are available and where job requests should be sent. The console control program 104 is responsible for updating and sending messages to an operator console 106. Each host in a manual data storage library, which may have a plurality of hosts, has an operator console, such as operator console 106. The operator console is used to alert an operator of actions that the operator must take to keep the subsystem 129 running efficiently. The subsystem 129 may contain at least one control unit such as the control unit 124. In the illustrated example of FIG. 1, the control unit 124 has the task of communicating jobs and messages from the host 100 to a peripheral data storage device (PDSD) 127. Devices such as tape devices (not shown) within the PDSD 127 are controlled by the control unit 124. Together the PDSD 127 and at least one control unit comprise a PDSD subsystem 129. The host 100 has a task of allocating jobs to devices within the PDSD subsystem. The status of all devices within the PDSD subsystem is stored on a database 111 on a hard disk 110. The host 100 has access through a data path 108 to the database 111 and can read or write data on the disk 110. The database 111 stores information relating to the status of all PDSDs within library 139. The library 139 comprises at least one subsystem 129 and its associated media (not shown) and media storage 137.
There may be a plurality of hosts, such as the host 100 and the host 114, which have access to a data storage library, such as the library 139. Each host system must have at least identical components to that which the host 100 has. Thus, the host 114 has a master scheduler program 116 and a console control program 118. Additionally, the host 114 has an operator console 120 for relaying messages to an operator. Such messages are related to activities within the library 139. Unfortunately, access to the database 111 where library information is stored, may only be controlled by one host. Thus, the host 114 has only read access (the ability to read but not write data) through the data line 112 to the database 111 stored on the hard disk 110. This results in slow processing time, as all jobs must be queued through the host 100 or alternatively a mechanism for sharing update authority to the queue must be provided.
Another disadvantage of the prior art architecture is that one operator may have to view many operator consoles to understand his tasks. For this reason, large message display panels have been mounted on prior art library floors to consolidate messages from various operator consoles. Such large message display panels are common and well known in the art. Such displays rely on so-called "snooper programs", such as programs 134 and 135, to intercept messages from a host to an operator console and interrogate internal operating system control structures in order to display operator messages in one location, such as a large message display panel 122.
In general, snooper programs, such as programs 134 and 135, reside in the host and attempt to interpolate conclusions based on intercepted events that are meaningful for their particular purpose. Unfortunately, these snooper programs are not part of the host operating system, rather they are typically third-party added software. Given the alien nature of these programs, they are not privileged to view the activity queues of the operating system and thus may miss significant events. For example, a PDSD, such as PDSD 127, may be mounted and remounted while a snooper program is held in a waiting state by the control program (e.g., 104 or 118). Snooper programs inherently miss events and then react inappropriately to other events that are not understood due to events missed. Thus, such programs are a prevalent cause for so-called "system outages", i.e., host system not available for its assigned task.
The network 128 connects the host 100, the host 114, a large message display panel 122, control units 124 and 126, and a PDSD 127. Such a network may contain other devices (not shown), such as an optical scanner or a personal computer. A scanner might be used to read bar code labels containing serial numbers. A personal computer might have any number of tasks within a computing environment. Unfortunately, since such devices are not part of the general architectural scheme there are likely to be associated disadvantages. Such disadvantages may include having to write special program codes to allow these devices to work in an ad hoc fashion in the network 128. Another disadvantage includes inefficient performance of devices and the possibility of missing significant events because the library is not designed for their use.
FIG. 2 shows the steps involved in the prior art for mounting a cartridge on a device within the PDSD subsystem 129, shown in FIG. 1. This figure will be most readily understood, by referring back to the block diagram shown in FIG. 1. In step 136, a host receives a job control language job request for a specific volser, implying a request to mount a cartridge having a specific volume serial number. The job request is passed to the master scheduler program in step 138. The master scheduler program checks, in step 140, to see if the next device is available. If the answer to the master scheduler's inquiry is "no" then processing passes to step 142. If there are no more devices to check, the request is queued for later processing when devices are released, as shown in step 146. However, if there are more devices to check, the master scheduler program loops back to step 140 to see if the next device is available. If a device is available to be mounted, then the master scheduler sends a message to the console control program (step 147). In step 148, the console control program sends a non-deletable mount message to the operator console. The message is said to be non-deletable because the message lines will be retained on the screen, or in a console queue, until their associated action is completed and a "Delete Operator Message" is executed. Thus, this non-deletable mount message will remain on the operator console until cleared by the master scheduler program, after the device is placed in a ready state by the operator. In step 150, an inquiry is made whether the requested volsers have been read at a device. If the answer is "no", the message remains non-deletable on the operator message console, as shown in step 152. Referring now to the non-deletable operator messages in step 148 and step 152, it can be seen that in step 154, a host "snooper program" posts a message on the large message display panel in order to consolidate messages. However, if the answer to the inquiry in step 150 had been "yes", then the master scheduler would have marked a control block in host memory to indicate that the job allocation is complete, as shown in step 156. Next, the operator console message is deleted, as shown in step 158. Finally, in step 160, the host database 111 is updated on host disk storage.
Thus, it will be appreciated that prior art systems are lacking in efficiency. Such systems may be unreliable, as well, because operators often become confused by an overwhelming number of messages which cannot be removed from the operator console. In this situation, the console queue becomes filled with screen after screen of non-scrollable messages, while library tasks are neglected, because they are not yet visible to the operator.
Therefore, there is a manifest need to improve the reliability and efficiency of library-to-operator communications in a manual storage library. Providing coherent yet succinct messages to an operator would increase reliability in a manual data storage library because an operator's attention would be directed quickly to important tasks. Reducing the quantity of messages would also increase efficiency, since an operator could be sure that messages received pertained to important events, such as medium mounting or demounting.
What is further needed is a system having the advantages described above, yet which allows an operator to retain control of the library and in particular, the PDSDs. A communications interface that is an integral component of the library would provide an operator control of and constant communication with all elements of the library.
A further shortcoming of manual data storage libraries is the inability to easily catalog newly added media. What is needed in this regard is a way for an operator to easily take data entered from input devices (e.g., scanners used to read volume serial numbers from cartridges) and efficiently add this data to a database which is accessible to a host which controls PDSDs.
Thus, there is a need in the art for an interface which is an integral component of a manual data storage library and possesses all of the advantages described above.